<?php

class mensagemSecurity extends osecurity implements ocorrencia_security{
    
    public function has_permission($cod_mensagem){
        
        //todo usuario admin pode ver qualquer mensagem
        if($this->UserIsAdmin()) {
            //die("é admin");
            return true;
        }
        
        $this->LoadModel('ocorrencia/mensagem', 'mobj');
        $dados = $this->mobj->getSecurityDataFromMensagem($cod_mensagem);
        extract($dados);        
        if($this->SuperiorHierarquico($cod_grupo)){
            //die('é superior hierárquico');
            return true;
        }
        
        $this->LoadModel('ocorrencia/ocorrencias', 'oc');
        if($this->oc->has_permission($cod_ocorrencia, $canalter = false)){
            return true;
        }
                
        return false;

    }
    
    public function genMenu($cod){
        if(!isset($_SESSION['ocorrencia/ocorrencias'])){
            $this->LoadModel('ocorrencia/mensagem', 'model');
            $var = $this->model->selecionar(array('cod_ocorrencia'), "cod_mensagem = '$cod'");
            if(empty($var)) return;
            $var = array_shift($var);
            
            $_SESSION['ocorrencia/ocorrencias'] = $var['cod_ocorrencia'];
        }
        $this->LoadResource('html', 'Html');
        $l1 = $this->Html->getLink('ocorrencia/ocorrencias/group/'.$_SESSION['ocorrencia/ocorrencias']);
        $l2 = $this->Html->getLink('ocorrencia/ocorrencias/show/'.$_SESSION['ocorrencia/ocorrencias']);
        $menu = array(
            'Voltar ao grupo'     => $l1,
            'Voltar ao Assunto' => $l2
        );
        parent::addMenu('body-top', $menu);
    }
    
}

?>